package motor

class AgendaDSL {
	
	def static void main(String[] args) {
	  new AgendaDSL().run
	   
	}
	
	def run() {
		
		20.agendar("cenar")
		.recordameViaLlamada("laverme las manos")
		.recordameViaEmail("poner la mesa")
		
		1.agendar("dormir")
		.recordameViaSMS("apagar la luz")
		
	}
	
	
	////////////////////////////
	
	
	val agenda = new Agenda()
	
	
	def Evento agendar(int hora, String nombre) {
		val ev = new Evento(nombre, hora)  
		agenda.agregarEvento(ev)
		ev
	}
	
	def Evento recordameViaLlamada(Evento evento, String nombre){
		evento.agregarRecordatorio(new LlamadaTel(nombre))
		evento
	}
	
	def Evento recordameViaSMS(Evento evento, String nombre){
		evento.agregarRecordatorio(new LlamadaTel(nombre))
		evento
	}
	
	def Evento recordameViaEmail(Evento evento, String nombre){
		evento.agregarRecordatorio(new LlamadaTel(nombre))
		evento
	}
  
}